package 题目集.dfs.博弈论;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class 约数倍数选卡片 {
    static int[] arr=new int[101];  //可选的数

    /**
     * 先手情况下可选的数
     */
    public static boolean first(int n){
        return !last(n);
    }

    //在对方选了n的情况下
    public static boolean last(int n){
        //我能进行的操作
        for (int i = 1; i < arr.length; i++) {
            if (arr[i]>0&&(i%n==0||n%i==0)){
                arr[i]--;
                boolean res = first(i);
                arr[i]++;
                if (res){
                    return true;
                }
            }
        }
        return false;
    }

    public static void main(String[] args) throws IOException {
        BufferedReader sc=new BufferedReader(new InputStreamReader(System.in));
        String[] str=null;
        str= sc.readLine().split("\\s+");
        for (String s : str) {
            arr[Integer.parseInt(s)]++;
        }
        str=sc.readLine().split("\\s+");
        for (String s : str) {
            int v = Integer.parseInt(s);
            arr[v]--;
            if (first(v)) {
                System.out.println(v);
                return;
            }
            arr[v]++;
        }
        System.out.println(-1);
    }
}
